<!--
Copyright 2017 The Kubernetes Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

<kd-resource-card object-meta="$ctrl.statefulSet.objectMeta"
                  type-meta="$ctrl.statefulSet.typeMeta">
  <kd-resource-card-status layout="row">
    <md-icon class="material-icons kd-error"
             ng-if="::$ctrl.hasWarnings()">
      error
      <md-tooltip md-delay="500"
                  md-autohide>
        [[One or more pods have errors|Tooltip text which appears on error icon hover.]]
      </md-tooltip>
    </md-icon>
    <md-icon class="material-icons"
             ng-if="::$ctrl.isPending()">
      timelapse
      <md-tooltip md-delay="500"
                  md-autohide>
        [[One or more pods are in pending state|Tooltip text which appears on pending icon hover.]]
      </md-tooltip>
    </md-icon>
    <md-icon class="material-icons kd-success"
             ng-if="::$ctrl.isSuccess()">
      check_circle
    </md-icon>
  </kd-resource-card-status>
  <kd-resource-card-columns>
    <kd-resource-card-column>
      <div>
        <a ng-href="{{::$ctrl.getStatefulSetDetailHref()}}"
           class="kd-middle-ellipsised-link">
          <kd-middle-ellipsis display-string="{{$ctrl.statefulSet.objectMeta.name}}">
          </kd-middle-ellipsis>
        </a>
      </div>
    </kd-resource-card-column>
    <kd-resource-card-column ng-if="::$ctrl.showResourceKind">
      <div>[[Stateful Set|Column 'Stateful Set' of a Stateful Set List]]</div>
    </kd-resource-card-column>
    <kd-resource-card-column ng-if="$ctrl.areMultipleNamespacesSelected()">
      <div>
        <kd-middle-ellipsis display-string="{{::$ctrl.statefulSet.objectMeta.namespace}}">
        </kd-middle-ellipsis>
      </div>
    </kd-resource-card-column>
    <kd-resource-card-column>
      <kd-labels labels="::$ctrl.statefulSet.objectMeta.labels"></kd-labels>
    </kd-resource-card-column>
    <kd-resource-card-column>
      <span class="kd-statefulse-card-pods-stat">
        {{::$ctrl.statefulSet.pods.running}} /
        {{::$ctrl.statefulSet.pods.desired}}
      </span>
    </kd-resource-card-column>
    <kd-resource-card-column>
      {{::$ctrl.statefulSet.objectMeta.creationTimestamp | relativeTime}}
      <md-tooltip md-delay="500"
                  md-autohide>
        [[Created at| Tooltip for the age column ]] {{::$ctrl.statefulSet.objectMeta.creationTimestamp| date}}
      </md-tooltip>
    </kd-resource-card-column>
    <kd-resource-card-column>
      <div ng-repeat="image in ::$ctrl.statefulSet.containerImages track by $index">
        <kd-middle-ellipsis display-string="{{::image}}"></kd-middle-ellipsis>
      </div>
      <div ng-repeat="image in ::$ctrl.statefulSet.initContainerImages track by $index">
        <kd-middle-ellipsis display-string="{{::image}}"></kd-middle-ellipsis>
      </div>
    </kd-resource-card-column>
    <kd-resource-card-column class="kd-row-layout-column kd-icon-column">
      <kd-logs-button object-meta="::$ctrl.statefulSet.objectMeta"
                      resource-kind-name="::$ctrl.statefulSet.typeMeta.kind">
      </kd-logs-button>
      <kd-resource-card-menu>
        <kd-scale-button resource-kind-display-name="[[Stateful Set|Label 'Stateful Set' which will appear in the stateful set scale dialog opened from a stateful set card on the list page.]]"
                         resource-kind-name="$ctrl.statefulSet.typeMeta.kind"
                         object-meta="$ctrl.statefulSet.objectMeta"
                         current-pods="$ctrl.statefulSet.pods.current"
                         desired-pods="$ctrl.statefulSet.pods.desired"
                         menu-item="true">
        </kd-scale-button>
        <kd-resource-card-delete-menu-item resource-kind-name="[[Stateful Set|Label 'Stateful Set' which will appear in the stateful set delete dialog opened from a stateful set card on the list page.]]">
        </kd-resource-card-delete-menu-item>
        <kd-resource-card-edit-menu-item resource-kind-name="[[Stateful Set|Label 'Stateful Set' which will appear in the stateful set edit dialog opened from a stateful set card on the list page.]]">
        </kd-resource-card-edit-menu-item>
      </kd-resource-card-menu>
    </kd-resource-card-column>
  </kd-resource-card-columns>
  <kd-resource-card-footer ng-if="::$ctrl.hasWarnings()">
    <kd-pod-warnings warnings="::$ctrl.statefulSet.pods.warnings"></kd-pod-warnings>
  </kd-resource-card-footer>
</kd-resource-card>
